home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Sample Code / System 7.0 Samples / ProcDoggie 1.0a6 / ProcDoggie.make < prev    next >
Encoding:
Text File  |  1994-11-18  |  5.9 KB  |  172 lines  |  [TEXT/MPS ]

  1. #------------------------------------------------------------------------------
  2. #
  3. #    Apple Macintosh Developer Technical Support
  4. #
  5. #    Program:    ProcDoggie
  6. #    File:        ProcDoggie.make    - Make Source
  7. #
  8. #    Copyright © 1988-1991 Apple Computer, Inc.
  9. #    All rights reserved.
  10. #
  11. #------------------------------------------------------------------------------
  12.  
  13. AppName            =    ProcDoggie
  14. Signature        =    'MOPD'
  15.  
  16. #------------------------------------------------------------------------------
  17. # Options for our compilers:
  18. #    -sym on: tells the compilers and linker to emit symbol information for
  19. #        a source level debugger, such as SADE.
  20. #    -mbg off: tells the compilers to not emit low-level debugger names. This
  21. #        saves on file space, but you may wish to remove this option if you
  22. #        need to debug with something like Macsbug.
  23. #    -rd: for Rez means to suppress warnings for redeclared types (we redeclare
  24. #        'RECT' because it’s not included in MPW 3.0).
  25. #    -append: means to add the resources to the target file, rather than
  26. #        deleting all the ones that are there first.
  27. #    -d Signature...: is a way of passing our application's signature to Rez.
  28. #        With this mechanism, we can define our signature here, and export
  29. #        it to Rez, so that we don't have to declare it there, too.
  30. #    -sn PASLIB=Main: puts all the routines that would normally go into the
  31. #        PASLIB segment into the Main segment. This is done so that when we
  32. #        call upon any low-level utilities, we don't potentially move memory
  33. #        by loading in a segment.
  34. #------------------------------------------------------------------------------
  35.  
  36. SymOptions        =    #-sym on                    # turn this on to debug with SADE
  37.  
  38. POptions        =    {SymOptions} -mbg full
  39. RezOptions        =    -rd -append -d Signature="{Signature}" -d AppName='"ProcDoggie"'
  40. LinkOptions        =    {SymOptions} {SegmentMappings} -msg nodup
  41. SegmentMappings    =    -sn INTENV=Main ∂
  42.                     -sn PASLIB=Main ∂
  43.                     -sn STDCLIB=Main ∂
  44.                     -sn SANELIB=Main ∂
  45.                     -sn MAFailureRes=Main ∂
  46.                     -sn Offscreen=Main ∂
  47.  
  48. #------------------------------------------------------------------------------
  49. # These are modified default build rules.
  50. #------------------------------------------------------------------------------
  51. .p.o            ƒ    .p
  52.     {Pascal} {POptions} {DepDir}{Default}.p -o {TargDir}{Default}.p.o
  53.  
  54. .c.o            ƒ    .c
  55.     {C} {COptions} {DepDir}{Default}.c -o {TargDir}{Default}.c.o
  56.  
  57. #------------------------------------------------------------------------------
  58. # These are the objects that we want to link with. If any one of these
  59. # changes, then we invoke the Link command.
  60. #------------------------------------------------------------------------------
  61.  
  62. AppObjects            =    ∂
  63.                         ProcDoggie.p.o ∂
  64.                         UDialogUtils.p.o ∂
  65.                         UEmergMem.p.o ∂
  66.                         UMenuHandler.p.o ∂
  67.                         UProcessGuts.p.o ∂
  68.                         UProcessUtils.p.o ∂
  69.                         UGlobals.p.o
  70.  
  71. ProcessLDEFObjects    =    ∂
  72.                         UProcessLDEF.p.o
  73.  
  74.  
  75. #------------------------------------------------------------------------------
  76. # Which files we link with depends on whether we are running MPW 3.1 or 3.2
  77. # Under MPW 3.2 and later, “CInterface.o” and “CRuntime.o” are merged with 
  78. # “Interface.o” and “Runtime.o”. The appropriate choice will be made 
  79. # dynamically before compiling and linking occurs.  See ShellForce below.
  80. #
  81. # Be sure GestaltGlue.a.o is before Interface.o in PLibs and CLibs below.
  82. #------------------------------------------------------------------------------
  83. PLibs            =    ∂
  84.                     "{Libraries}Runtime.o" ∂
  85.                     "{Libraries}Interface.o" ∂
  86.                     "{PLibraries}PasLib.o"
  87.  
  88. PLibs32            =    ∂
  89.                     "{Libraries}Runtime.o" ∂
  90.                     "{Libraries}Interface.o" ∂
  91.                     "{PLibraries}PasLib.o"
  92.  
  93. CLibs            =    ∂
  94.                     "{CLibraries}CRuntime.o" ∂
  95.                     "{CLibraries}CInterface.o" ∂
  96.                     "{Libraries}Interface.o"
  97.  
  98. CLibs32            =    ∂
  99.                     "{CLibraries}StdCLib.o" ∂
  100.                     "{Libraries}Runtime.o" ∂
  101.                     "{Libraries}Interface.o"
  102.  
  103. #------------------------------------------------------------------------------
  104. # Dependencies for the individual components. These will invoke the
  105. # default build rules as described in Chapter 9 of the MPW 3.0 manual.
  106. #------------------------------------------------------------------------------
  107.  
  108. {AppObjects}            ƒ    {AppName}.make
  109.  
  110. ProcDoggie.p.o            ƒ    ProcDoggie.p ∂
  111.                             UGlobals.p ∂
  112.                             UEmergMem.p ∂
  113.                             UMenuHandler.p ∂
  114.                             UProcessGuts.p ∂
  115.                             UProcessUtils.p
  116.  
  117. UGlobals.p.o            ƒ    UGlobals.p UGlobals.inc1.p ∂
  118.                             UEmergMem.p
  119.  
  120. UDialogUtils.p.o        ƒ    UDialogUtils.p UDialogUtils.inc1.p ∂
  121.                             UEmergMem.p
  122.  
  123. UEmergMem.p.o            ƒ    UEmergMem.p UEmergMem.inc1.p
  124.  
  125. UMenuHandler.p.o        ƒ    UMenuHandler.p UMenuHandler.inc1.p ∂
  126.                             UGlobals.p ∂
  127.                             UProcessGuts.p ∂
  128.                             UProcessUtils.p
  129.  
  130. UProcessGuts.p.o        ƒ    UProcessGuts.p UProcessGuts.inc1.p ∂
  131.                             UGlobals.p ∂
  132.                             UDialogUtils.p ∂
  133.                             UEmergMem.p ∂
  134.                             UMenuHandler.p ∂
  135.                             UProcessLDEF.p ∂
  136.                             UProcessUtils.p
  137.  
  138. UProcessUtils.p.o        ƒ    UProcessUtils.p UProcessUtils.inc1.p
  139.  
  140. UWindowHandler.p.o        ƒ    UWindowHandler.p UWindowHandler.inc1.p ∂
  141.                             UGlobals.p ∂
  142.                             UEmergMem.p ∂
  143.                             UProcessGuts.p ∂
  144.                             UProcessUtils.p
  145.  
  146. {ProcessLDEFObjects}    ƒ    {AppName}.make
  147.  
  148. UProcessLDEF.p.o        ƒ    UProcessLDEF.p UProcessLDEF.inc1.p
  149.  
  150. #------------------------------------------------------------------------------
  151. # Build rule that links our application together. If any of our objects 
  152. # changes, or this makefile changes, then we relink.  The dummy prerequisite
  153. # ShellForce must come before any other prerequisites for {AppName}
  154. #------------------------------------------------------------------------------
  155.  
  156. {AppName}        ƒƒ    {AppObjects}
  157.     Link {LinkOptions} -o {Targ} {AppObjects} {PLibs32}
  158.     SetFile {Targ} -t APPL -c {Signature} -a BM
  159.  
  160. {AppName}        ƒƒ    {ProcessLDEFObjects}
  161.     Link  -m PROCESSLIST -rn -rt LDEF=128 -o {Targ} {ProcessLDEFObjects}
  162.     SetFile {Targ} -t APPL -c {Signature} -a BM
  163.  
  164. #------------------------------------------------------------------------------
  165. # Build rule that creates our resources and adds them to the application
  166. #------------------------------------------------------------------------------
  167.  
  168. {AppName}        ƒƒ    {AppName}.make ∂
  169.                     {AppName}.r ∂
  170.                     {AppName}.rsrc
  171.     Rez {RezOptions} {AppName}.r -o {Targ}
  172.